//! 输入/输出抽象模块
//!
//! 这个模块定义了与外部世界通信的抽象接口。

mod terminal;
mod embedded;

pub use terminal::Terminal;
pub use embedded::EmbeddedIo;

/// 输入设备特质
pub trait InputDevice {
    fn read_char(&mut self) -> Option<char>;
}

/// 输出设备特质
pub trait OutputDevice {
    fn write_char(&mut self, c: char);
    fn clear_screen(&mut self);
}